#ifndef WORLDMODEL_H
#define WORLDMODEL_H

#include "Bodies/AgentBody.hpp"
#include "AbstractEnvironment.hpp"
#include "Perceptions/Perception.hpp"
#include "Influences/Influence.h"
#include "vector"

struct Action{
    AgentBody *body;
    Vector2D *translation;
    double rotation;
};

class WorldModel : public AbstractEnvironment
{
public:
    WorldModel(double,double);
    std::vector<Perception*> computePerceptionsFor(AgentBody&);
    void applyInfluences(/*std::vector<Influence>*/);


    ~WorldModel();
};

#endif // WORLDMODEL_H
